#pragma once

#include "StatusBar/EditorStatusItemViewModel.h"
#include "EditorNoticationStatusViewModel.m.h"


class REditorNoticationStatusModel;
class RTexture2D;

RCLASS()
class REditorNoticationStatusViewModel : public REditorStatusItemViewModel
{
    ROBJECT


public:
    virtual void BindModel(TSharedObjectPtr<REditorStatusItemModel> InModel) override;

    TSharedObjectPtr<RTexture2D> GetIcon() const;
    void OnClicked();
protected:
    TWeakObjectPtr<REditorNoticationStatusModel> Model;

    //有通知且未设置勿打扰时的图标
    TSharedObjectPtr<RTexture2D> NotificationIcon;
    //无通知且未设置勿打扰时的图标
    TSharedObjectPtr<RTexture2D> NoNotificationIcon;
    //有通知且设置勿打扰时的图标
    TSharedObjectPtr<RTexture2D> NotificationDontDisturbIcon;
    //无通知且设置勿打扰时的图标
    TSharedObjectPtr<RTexture2D> NoNotificationDontDisturbIcon;

    bool HasNotification() const;

    bool IsDonotDisturb() const;
};